const LinkedList = require('./01-linked_es5');

const linkedList = new LinkedList();

// 用基本数据类型构建最简单的链表，实际开发中如果遇到，往往都是对象类型，而且必须重写isEqFn
for (var i = 0; i < 5; i++) {
  // 添加到链表
  linkedList.push(i);
}

// 测试
// console.log(linkedList);
// 测试 getElementAt(index);
console.log(linkedList.getElementAt(2));
// 测试 removeAt(index);
linkedList.removeAt(1);
//如果删除下标为1的元素，则下标为0的元素的next应该是node = 2 ; linkedList的长度应该-1
console.log(linkedList.getElementAt(0), linkedList.length); // {data:1,next: {data : 2}}, 4
// 测试 insert(data, index)
// 在下标2的位置插入data9 ，则下标1的下一位应该是data9 ;下标3的位置应该是data2
linkedList.insert(9, 2);
console.log(linkedList.getElementAt(1), linkedList.getElementAt(2)); // {data: 0},{data:9}

// 这里只做了最重要的几个测试，其余的几个方法比较简单，可以自行测试。